Django托管在Apache上:致命的Python错误: init 您所在的位置:网站首页 vip内容解码错误: 无法获取客户号 Django托管在Apache上:致命的Python错误: init

Django托管在Apache上:致命的Python错误: init

2024-06-30 18:19| 来源: 网络整理| 查看: 265

我正在尝试在Apache2.4上托管一个Django应用程序。服务不会启动并产生以下错误

代码语言:javascript复制[Thu Oct 28 13:12:37.898096 2021] [mpm_winnt:notice] [pid 5144:tid 628] AH00418: Parent: Created child process 7828 Python path configuration: PYTHONHOME = (not set) PYTHONPATH = (not set) program name = 'python' isolated = 0 environment = 1 user site = 1 import site = 1 sys._base_executable = 'C:\\apache24\\bin\\httpd.exe' sys.base_prefix = 'C:\\Users\\myuser\\AppData\\Local\\Programs\\Python\\Python310' sys.base_exec_prefix = 'C:\\Users\\myuser\\AppData\\Local\\Programs\\Python\\Python310' sys.platlibdir = 'lib' sys.executable = 'C:\\apache24\\bin\\httpd.exe' sys.prefix = 'C:\\Users\\myuser\\AppData\\Local\\Programs\\Python\\Python310' sys.exec_prefix = 'C:\\Users\\myuser\\AppData\\Local\\Programs\\Python\\Python310' sys.path = [ 'C:\\Users\\myuser\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip', '.\\DLLs', '.\\lib', 'C:\\apache24\\bin', ] Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding Python runtime state: core initialized ModuleNotFoundError: No module named 'encodings' Current thread 0x00000fa0 (most recent call first): [Thu Oct 28 13:12:38.413708 2021] [mpm_winnt:crit] [pid 5144:tid 628] AH00419: master_main: create child process failed. Exiting.

在我完成所有配置并进入"it worked“屏幕之前,服务器就运行了。

我认为这与我的httpd-host conf

代码语言:javascript复制 Require all granted ServerName localhost WSGIPassAuthorization On ErrorLog "C:/Users/myuser/Desktop/app.error.log" CustomLog "C:/Users/myuser/Desktop/app.access.log" combined WSGIScriptAlias / "C:/Users/myuser/Desktop/app/wsgi_windows.py" Require all granted Alias /static "C:/Users/myuser/Desktop/app/static" Require all granted

或者我的wsgi_windows py

代码语言:javascript复制import os import sys import site # Add the site-packages of the chosen virtualenv to work with site.addsitedir('C:/Users/myuser/Desktop/app/appEnv/Lib/site-packages') # Add the app's directory to the PYTHONPATH sys.path.append('C:/Users/myuser/Desktop/app') sys.path.append('C:/Users/myuser/Desktop/app/appEnv') os.environ['DJANGO_SETTINGS_MODULE'] = 'app.settings' os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application()

我使用的是一个虚拟环境,并没有一大堆关于如何处理它的明确说明。

编辑:我应该提一下,这是一个windows系统。根据https://code.google.com/archive/p/modwsgi/wikis/ConfigurationDirectives.wiki#WSGIPythonHome的说法,您不能使用WSGIPythonHome覆盖PYTHONEXECUTABLE路径。但是,默认值应该是正确的,因为它与错误列表中的内容相匹配。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有